package grafica.controladores;

import java.sql.SQLException;

import grafica.ventanas.empleadoAltaAsalariado;
import grafica.ventanas.empleadoModAsalariado;
import grafica.ventanas.empresaAlta;

import persistencia.DAOException;
import persistencia.PersistenciaException;
import logica.clases.Facade;
import logica.datatypes.DataAsalariado;
import logica.datatypes.DataEmpresa;

public class ControladorEmplModAsalariado {
	private Facade facade;	
	empleadoModAsalariado emplAsa;
	public DataEmpresa empresa;


	public ControladorEmplModAsalariado(empleadoModAsalariado empleadoModAsalariado){
		emplAsa = empleadoModAsalariado;
		try {
			facade = new Facade();
		} catch (PersistenciaException e1) {					
			e1.printStackTrace();
		} catch (InstantiationException e1) {
			emplAsa.setJTextAreaMensajes(e1.toString());
			e1.printStackTrace();
		} catch (IllegalAccessException e1) {
			emplAsa.setJTextAreaMensajes(e1.toString());
			e1.printStackTrace();
		} catch (ClassNotFoundException e1) {
			emplAsa.setJTextAreaMensajes(e1.toString());
			e1.printStackTrace();
		}	
	}
	
	public void ModEmplAsalariado(int ci, String nombre, String apellido, int edad, int rutEmpresa, float salario){
		DataAsalariado asalariado = new DataAsalariado(ci, nombre, apellido, edad, rutEmpresa, salario);
		try {
			facade.modificarEmpleado(asalariado);
			emplAsa.setJTextAreaMensajes("Empleado Modificado");
			emplAsa.limpiarData();
		} catch (DAOException e) {
			emplAsa.setJTextAreaMensajes(e.darMensaje());
		} catch (ClassNotFoundException e) {
			emplAsa.setJTextAreaMensajes("ERROR: No se pudo modificar");
			//e.printStackTrace();
		} catch (PersistenciaException e) {
			// TODO Auto-generated catch block
			emplAsa.setJTextAreaMensajes(e.toString());
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			emplAsa.setJTextAreaMensajes(e.toString());
		}
			
	}
	

	public DataEmpresa getEmprea(int rut){
		try {
			empresa = facade.obtenerEmpresa(rut);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (PersistenciaException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (DAOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return empresa;
	}

}